package com.cti.ftpservice.dao;

import java.util.List;

import com.cti.ftpservice.model.onix.OnixBookBaseInfo;
import com.cti.ftpservice.model.onix.OnixSupplyBookInfo;
import com.cti.ftpservice.vo.OnixBookInfoQueryVo;
import com.cti.ftpservice.vo.PageViewVO;


public interface OnixDataDao {
	
  public void addOrUpdateOnixBookInfo(OnixBookBaseInfo bookBaseInfo);
  
  public void addOnixBookInfo(OnixBookBaseInfo bookBaseInfo);
 
  public void addOrUpdateOnixSupplyBookInfo(OnixSupplyBookInfo supplyinfo);
  
  public void addOnixSupplyBookInfo(OnixSupplyBookInfo supplyinfo);
  
  public void deleteOnixSupplyBookInfo(OnixSupplyBookInfo supplyinfo);
  
  public OnixBookBaseInfo getOnixBookBaseInfoById(String id);

  public OnixBookBaseInfo getOnixBookBaseInfoByIsbn(String isbn);
  
  public OnixBookBaseInfo getOnixBookBaseInfoByIsbnAndftpFileInfoId(String isbn,String ftpFileInfoId);
  
  public PageViewVO<OnixBookBaseInfo> getOnixBookBaseInfoVosByQuery(
		OnixBookInfoQueryVo queryVo, int pageIndex, int pageSize);
  
  public void commitSession();
  
  public void rollbackSession();
  
  public int getParsedCountByFtpInfoId(String ftpFileInfoId);
  
  public void rebuildIndex();
  
  /**
   * 多线程方法，慎用
   * @param isbn
   * @return
   */
  public OnixBookBaseInfo getOnixBookBaseInfoByIsbnFromMultithread(String isbn);
}
